package com.government.org.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.government.common.annotation.Excel;
import com.government.common.core.domain.BaseEntity;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 主管单位对象 t_org_info
 * 
 * @author system
 * @date 2023-09-14
 */
@TableName("t_org_info")
@Data
public class OrgInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 机构id */
    @TableId(type = IdType.AUTO )
    private Long orgId;

    /** 名称 */
    @Excel(name = "名称")
    private String orgName;

    /**
     * 曾用名
     */
    private String formerName;

    /** 上级单位 */
    private Long parentOrgId;

    /** 状态  1有效 0无效 */
    private String status;

    /** 主管类型 */
    private String type;

    /** 覆盖地区 */
    private String area;

    /** 标签 */
    @Excel(name = "标签")
    private String tag;

    /** 原文路径 */
    @Excel(name = "原文路径")
    private String navigation;

    /** 原文网址 */
    @Excel(name = "原文网址")
    private String fromUrl;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String address;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String tel;

    /** 单位介绍 */
    @Excel(name = "单位介绍")
    private String mainFunctions;

    /** 负责人 */
    @Excel(name = "负责人")
    private String principal;

    /** 网站地址 */
    @Excel(name = "网站地址")
    private String webUrl;

    /** 机构类型 1-内设机构 2-直属机构 */
    @Excel(name = "机构类型")
    private String orgType;

    /** 是否发布 1-是 2-否 */
    private String isPublish;

    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date publishTime;

    /** 审核人员 */
    private String auditBy;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date auditTime;

    /** 是否删除 1-是 0-否 */
    private String isDeleted;

    @TableField(exist = false)
    private List<String> tags;

    /** 所属一级园区ID */
    private Long park1;

    /** 所属二级园区ID */
    private Long park2;

    /** 所属三级园区ID */
    private Long park3;

    /** 所属四级园区ID */
    private Long park4;

    /** 所属五级园区ID */
    private Long park5;

    /** 所属六级园区ID */
    private Long park6;

    /** 最后一级园区id */
    private Long lastPark;

    /** 所属一级园区 */
    private String parkName1;

    /** 所属二级园区 */
    private String parkName2;

    /** 所属三级园区 */
    private String parkName3;

    /** 所属四级园区 */
    private String parkName4;

    /** 所属五级园区 */
    private String parkName5;

    /** 所属六级园区 */
    private String parkName6;

    /** 最后一级园区名称 */
    private String lastParkName;

    /** 所属园区ID */
    @TableField(exist = false)
    private List<String> parkAreaIds;

    /**
     * 点赞数量
     */
    private int likeNum;

    /**
     * 收藏数量
     */
    private int collectNum;

    /**
     * 浏览数量
     */
    private int browseNum;

}
